スイッチ用のIAMロール作成手順
吉川@広島です。
早速ですが、AWSにおけるスイッチロールの設定手順をまとめてみましたので紹介します。
前提
以下の想定で考えます。
- AWSアカウントA
- この配下にIAMユーザaが存在する(MFA必須)
- AWSアカウントB
- この配下にIAMロールbを作成し、IAMユーザaからスイッチできるようにする
2つのAWSアカウントがあり、アカウントAのユーザaはすでに存在するものとします。ユーザaからアカウントBのロールbにスイッチできるように設定していきます。また、IAMユーザのMFAは必須とします。
IAMポリシー作成+IAMユーザにアタッチ
まずアカウントAで作業します。
下記のようなIAMポリシーを作成します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "*", "Condition": { "BoolIfExists": { "aws:MultiFactorAuthPresent": "true" } } } ] }
このポリシーをIAMユーザaにアタッチします。これにより、ユーザaはスイッチロールする権限を得ます。
また、IAMユーザaのARNを控えておきます。
IAMロール作成
こちらはアカウントBで作業します。
信頼されたエンティティの種類は「別のAWSアカウント」を選択します。アカウントAのアカウントIDを入力し、「MFAが必要」にチェックを入れます。
ロールに持たせたいポリシーを選択し、アタッチします。今回はAdministratorAccessとしました。
ロール名を決めて作成します。
作成できたら、続いて信頼関係を編集します。ロール詳細を開き、「信頼関係」→「信頼関係の編集」をクリックします。
Principal.AWS
の値を修正します。root指定になっているので、先ほど控えておいたIAMユーザaのARNに書き換えます。つまり、 "arn:aws:iam::xxxxxxxxxxxx:root"
から "arn:aws:iam::xxxxxxxxxxxx:user/xxxxxxxxxx"
の指定に変更となるはずです。
上記内容を保存すれば完了です。